﻿using System;

using YAMM.PlugIn;



namespace PluginInsert
{
    public class Plugin : IPlugin
    {
        #region IPlugin Members

        public string Name
        {
            get { return "EinfügePlugin für Archivprogramm"; }
        }

        /// <summary>
        /// Gets the GUID of the plugin.
        /// </summary>
        /// <value>The GUID.</value>
        public Guid Guid
        {
            get
            {
                return new Guid("B448934F-3844-414d-8F26-236068ABA8C3");
            }
        }

        public string Version
        {
            get { return "0.0.0.1a"; }
        }

        public string Author
        {
            get { return "Frank Weißenborn"; }
        }

        public void Show()
        {
            Main mn = new Main();
            mn.Show();
        }

        public void Configure()
        {
            Configure config = new Configure();
            config.Show();
        }

        public bool CanReceive(Type t)
        {
            if (t == typeof(YAMM.DataTypes.MovieDT)) return true;
            return false;
        }

        public void Receive(Object o)
        {
            if (o is YAMM.DataTypes.MovieDT)
            { }
        }        


        public event YAMM.PlugIn.DataEventHandler Send;
        
        public string Description
        {
            get
            {
                return @"GnuPG is GNU's tool for secure communication and data storage.  It can " +
                    @"be used to encrypt data and to create digital signatures.  It includes " +
                    @"an advanced key management facility and is compliant with the proposed " +
                    @"\b TEST \b0." +
                    @"GnuPG is GNU's tool for secure communication and data storage.  It can " +
                    @"be used to encrypt data and to create digital signatures.  It includes " +
                    @"an advanced key management facility and is compliant with the proposed " +
                    @"\b TEST \b0."; 
            }
        }

        /// <summary>
        /// Gets the icon of the plugin.
        /// </summary>
        /// <value>The icon.</value>
        public System.Drawing.Image Icon
        {
            get
            {
                return ((System.Drawing.Icon)global::PluginInsert.Properties.Resources.ResourceManager.GetObject("Icon")).ToBitmap();
            }
        }        
        
        void IPlugin.Load(IServiceProvider serviceProvider)
        {
            throw new NotImplementedException();
        }

        void IPlugin.Unload()
        {
            throw new NotImplementedException();
        }

        public void Uninstall()
        {

        }

        public bool IsConfigureable()
        {
            return true;
        }
        
        #endregion
    }

    public class Plugin_Insert2 : IPlugin
    {
        #region IPlugin Members

        public string Name
        {
            get { return "EinfügePlugin nummer 2 für Archivprogramm"; }
        }

        /// <summary>
        /// Gets the GUID of the plugin.
        /// </summary>
        /// <value>The GUID.</value>
        public Guid Guid
        {
            get
            {
                return new Guid("B448934F-3844-414d-8F26-236068ABA8C4");
            }
        }

        public string Version
        {
            get { return "0.0.0.1b"; }
        }

        public string Author
        {
            get { return "Frank Weißenborn"; }
        }

        public void Show()
        {
            Main mn = new Main();
            mn.Show();
        }

        public void Configure()
        {
            Configure config = new Configure();
            config.Show();
        }

        public bool CanReceive(Type t)
        {
            if (t == typeof(YAMM.DataTypes.MovieDT)) return true;
            return false;
        }

        public void Receive(Object o)
        {
            if (o is YAMM.DataTypes.MovieDT)
            { }
        }


        public event YAMM.PlugIn.DataEventHandler Send;

        public string Description
        {
            get
            {
                return @"2.Plugin in einer Assambly";
            }
        }

        /// <summary>
        /// Gets the icon of the plugin.
        /// </summary>
        /// <value>The icon.</value>
        public System.Drawing.Image Icon
        {
            get
            {
                return ((System.Drawing.Icon)global::PluginInsert.Properties.Resources.ResourceManager.GetObject("Icon")).ToBitmap();
            }
        }           

        void IPlugin.Load(IServiceProvider serviceProvider)
        {
            throw new NotImplementedException();
        }

        void IPlugin.Unload()
        {
            throw new NotImplementedException();
        }

        public void Uninstall()
        {

        }

        public bool IsConfigureable()
        {
            return true;
        }

        #endregion
    }
}
